//  Copyright (c) Microsoft Corporation.  All Rights Reserved.

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Xml;

using System.IdentityModel.Claims;
using System.IdentityModel.Selectors;
using System.IdentityModel.Policy;


namespace Saml20
{
    public abstract class Saml20Statement
    {
        public abstract void MakeReadOnly();
        public abstract void ReadXml(XmlReader reader, Saml20Serializer serializer, SecurityTokenSerializer keyInfoSerializer, SecurityTokenResolver outOfBandTokenResolver);
        public abstract void WriteXml(XmlWriter writer, SecurityTokenSerializer tokenSerializer);
        public abstract IAuthorizationPolicy CreatePolicy(ClaimSet issuer, Saml20Assertion assertion, Saml20SecurityTokenAuthenticator tokenAuthenticator);
    }
}
